home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / X11 / config / Library.tmpl < prev    next >
Text File  |  2006-04-12  |  18KB  |  583 lines

  1. /*
  2.  * Library imakefile info  - this contains any special redefinitions, etc.
  3.  * that Imakefiles in the various library subtrees will need.
  4.  *
  5.  * Before including this, you must set the following boolean variables:
  6.  * DoNormalLib, DoSharedLib, DoDebugLib, DoProfileLib
  7.  *
  8.  * To get automatic generation of standard rules, also set the variables:
  9.  * LibName, SoRev, HasSharedData, and optionally HugeLibrary and IncSubdir.
  10.  *
  11.  * To suppress installation of the library define LibInstall NO.
  12.  * To suppress creating (and installing) the library define LibCreate NO.
  13.  * To suppress installing headers define LibHeaders NO.
  14.  * Define LargePICTable YES if large (32-bit) PIC tables are needed.
  15.  */
  16.  
  17. XCOMM $Xorg: Library.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
  18.  
  19.  
  20.  
  21.  
  22. XCOMM $XFree86: xc/config/cf/Library.tmpl,v 3.23tsi Exp $
  23.  
  24. #ifndef DoNormalLib
  25. #define DoNormalLib NO
  26. #endif
  27. #ifndef DoSharedLib
  28. #define DoSharedLib NO
  29. #endif
  30. #ifndef DoDebugLib
  31. #define DoDebugLib NO
  32. #endif
  33. #ifndef DoProfileLib
  34. #define DoProfileLib NO
  35. #endif
  36. #ifndef DoExtraLib
  37. #define DoExtraLib NO
  38. #endif
  39.  
  40. #ifndef HasSharedData
  41. #define HasSharedData NO
  42. #endif
  43. #ifndef HugeLibrary
  44. #define HugeLibrary NO
  45. #endif
  46.  
  47. #ifndef ShlibBindGlobals
  48. #define ShlibBindGlobals NO
  49. #endif
  50.  
  51. #if ShlibBindGlobals && defined(ShlibGlobalsFlags)
  52. SHLIBGLOBALSFLAGS = ShlibGlobalsFlags
  53. #endif
  54.  
  55. #ifndef LibraryCplusplusOptions
  56. # if DoSharedLib && defined(SharedLibraryCplusplusOptions)
  57. #  define LibraryCplusplusOptions SharedLibraryCplusplusOptions
  58. # else
  59. #  define LibraryCplusplusOptions DefaultCplusplusOptions
  60. # endif
  61. #endif
  62. #ifndef LibraryDefines
  63. # define LibraryDefines StandardDefines
  64. #endif
  65. #ifndef LibraryDebugOpt
  66. # define LibraryDebugOpt /**/
  67. #endif
  68. /* Note: Changing LibraryCDebugFlags has no effect because CDEBUGFLAGS is over-
  69.    ridden by PassCDebugFlags in the parent Makefile or toplevel xmakefile. */
  70. #ifndef LibraryCDebugFlags
  71. # define LibraryCDebugFlags DefaultCDebugFlags
  72. #endif
  73. #ifndef LibraryCplusplusDebugFlags
  74. # define LibraryCplusplusDebugFlags DefaultCplusplusDebugFlags
  75. #endif
  76. #ifndef SeparateSharedCompile
  77. # define SeparateSharedCompile YES
  78. #endif
  79.  
  80. #ifdef CrossCompileDir
  81. # ifndef StripPath
  82. #  define StripPath(x) `echo x|sed "s%.*/%%"`
  83. # endif
  84. #endif
  85.  
  86. #ifndef CplusplusSource
  87. # ifndef LibraryCcCmd
  88. #  if DoSharedLib && defined(SharedLibraryCcCmd)
  89. #   define LibraryCcCmd SharedLibraryCcCmd
  90. #  else
  91. #   define LibraryCcCmd CcCmd
  92. #  endif
  93. # endif
  94. # ifndef LibraryCCOptions
  95. #  if DoSharedLib && defined(SharedLibraryCCOptions)
  96. #   define LibraryCCOptions SharedLibraryCCOptions
  97. #  else
  98. #   define LibraryCCOptions DefaultCCOptions
  99. #  endif
  100. # endif
  101.  
  102. #ifdef CrossCompileDir
  103. # ifndef CrossLibraryCcCmd
  104. #  define CrossLibraryCcCmd Concat3(CrossCompileDir,/,StripPath(LibraryCcCmd))
  105. # endif
  106. #endif
  107.  
  108. #ifdef CrossCompileDir
  109.          CC = CrossLibraryCcCmd
  110. #else
  111.          CC = LibraryCcCmd
  112. #endif
  113.   CCOPTIONS = LibraryCCOptions
  114. STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
  115. CDEBUGFLAGS = LibraryCDebugFlags
  116. CLIBDEBUGFLAGS = LibraryDebugOpt
  117.      CFLAGS = $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
  118. # if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
  119.    PICFLAGS = LargePositionIndependentCFlags
  120. # endif
  121. #else
  122. # ifndef CrossCompileDir
  123. #  ifndef LibraryCplusplusCmd
  124. #   if DoSharedLib && defined(SharedLibraryCplusplusCmd)
  125. #    define LibraryCplusplusCmd SharedLibraryCplusplusCmd
  126. #   else
  127. #    define LibraryCplusplusCmd CplusplusCmd
  128. #   endif
  129. #  endif
  130. # else
  131. #  ifndef CrossLibraryCplusplusCmd
  132. #   if DoSharedLib && defined(SharedLibraryCplusplusCmd)
  133. #    define CrossLibraryCplusplusCmd Concat3(CrossCompileDir,/,StripPath(SharedLibraryCplusplusCmd))
  134. #   else
  135. #    define CrossLibraryCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd))
  136. #   endif
  137. #  endif
  138. # endif
  139.  
  140. # ifndef LibraryCplusplusOptions
  141. #  if DoSharedLib && defined(SharedLibraryCplusplusOptions)
  142. #   define LibraryCplusplusOptions SharedLibraryCplusplusOptions
  143. #  else
  144. #   define LibraryCplusplusOptions DefaultCplusplusOptions
  145. #  endif
  146. # endif
  147.  
  148. #ifdef CrossCompileDir
  149.           CXX = CrossLibraryCplusplusCmd
  150. #else
  151.           CXX = LibraryCplusplusCmd
  152. #endif
  153.    CXXOPTIONS = LibraryCplusplusOptions
  154.   STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
  155. CXXDEBUGFLAGS = LibraryCplusplusDebugFlags
  156. CXXLIBDEBUGFLAGS = LibraryDebugOpt
  157.      CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXLIBDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
  158. # if defined(LargePICTable) && LargePICTable
  159. #  ifdef LargePositionIndependentCplusplusFlags
  160.   CXXPICFLAGS = LargePositionIndependentCplusplusFlags
  161. #  elif defined(LargePositionIndependentCFlags)
  162.   CXXPICFLAGS = LargePositionIndependentCFlags
  163. #  endif
  164. # endif
  165. #endif
  166.  
  167. #ifdef LibraryMTDefines
  168. LIB_MT_DEFINES = LibraryMTDefines
  169. #endif
  170.  
  171. #if defined(IHaveSubdirs) && HasSymLinks && !defined(NoLibSubdirs)
  172. #define _LibMkdir LibMkdirLinkSubdirs
  173. #else
  174. #define _LibMkdir LibMkdir
  175. #endif
  176.  
  177. #if DoDebugLib
  178. # define _DebuggedLibMkdir() _LibMkdir(debugger)
  179. # define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
  180. # define _DebuggedObjCplusplusCompile(options) DebuggedLibObjCplusplusCompile(options)
  181. # define _DebuggedCleanDir() LibCleanDir(debugger)
  182. #else
  183. # define _DebuggedLibMkdir() $(_NULLCMD_)
  184. # define _DebuggedObjCompile(options) $(_NULLCMD_)
  185. # define _DebuggedObjCplusplusCompile(options) $(_NULLCMD_)
  186. # define _DebuggedCleanDir() $(_NULLCMD_)
  187. #endif
  188.  
  189. #if DoProfileLib
  190. # define _ProfiledLibMkdir() _LibMkdir(profiled)
  191. # define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
  192. # define _ProfiledObjCplusplusCompile(options) ProfiledLibObjCplusplusCompile(options)
  193. # define _ProfiledCleanDir() LibCleanDir(profiled)
  194. #else
  195. # define _ProfiledLibMkdir() $(_NULLCMD_)
  196. # define _ProfiledObjCompile(options) $(_NULLCMD_)
  197. # define _ProfiledObjCplusplusCompile(options) $(_NULLCMD_)
  198. # define _ProfiledCleanDir() $(_NULLCMD_)
  199. #endif
  200.  
  201. #if !DoNormalLib
  202. # define _NormalLibMkdir() $(_NULLCMD_)
  203. # define _NormalObjCompile(options) $(_NULLCMD_)
  204. # define _NormalObjCplusplusCompile(options) $(_NULLCMD_)
  205. # define _NormalCleanDir() $(_NULLCMD_)
  206. #else
  207. # if DoSharedLib && SeparateSharedCompile
  208. #  define _NormalLibMkdir() _LibMkdir(unshared)
  209. #  define _NormalObjCompile(options) UnsharedLibObjCompile(options)
  210. #  define _NormalObjCplusplusCompile(options) UnsharedLibObjCplusplusCompile(options)
  211. #  define _NormalCleanDir() LibCleanDir(unshared)
  212. # else
  213. #  define _NormalLibMkdir() $(_NULLCMD_)
  214. #  if !DoSharedLib &&  defined(IncludeSharedObjectInNormalLib)
  215. #   define _NormalObjCompile(options) NormalRelocLibObjCompile(options)
  216. #  else
  217. #   define _NormalObjCompile(options) NormalLibObjCompile(options)
  218. #  endif
  219. #  define _NormalObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
  220. #  define _NormalCleanDir() $(_NULLCMD_)
  221. # endif
  222. #endif
  223.  
  224. #if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
  225. # define _SharedObjCompile(options) $(_NULLCMD_)
  226. # define _SharedObjCplusplusCompile(options) $(_NULLCMD_)
  227. #else
  228. # if SeparateSharedCompile
  229. #  define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
  230. #  define _SharedObjCplusplusCompile(options) NormalSharedLibObjCplusplusCompile(options)
  231. #else
  232. # define _SharedObjCompile(options) NormalLibObjCompile(options)
  233. # define _SharedObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
  234. #endif
  235. #endif
  236.  
  237. #ifndef LibInstallBuild
  238. #define LibInstallBuild NO
  239. #endif
  240.  
  241. #if DoExtraLib && defined(ExtraLibRules)
  242. # define _ExtraLibMkdir() ExtraLibMkdir()
  243. # define _ExtraObjCompile(options) ExtraObjCompile(options)
  244. # define _ExtraObjCplusplusCompile(options) ExtraObjCplusplusCompile(options)
  245. # define _ExtraCleanDir() ExtraCleanDir()
  246. #else
  247. # define _ExtraLibMkdir() $(_NULLCMD_)
  248. # define _ExtraObjCompile(options) $(_NULLCMD_)
  249. # define _ExtraObjCplusplusCompile(options) $(_NULLCMD_)
  250. # define _ExtraCleanDir() $(_NULLCMD_)
  251. #endif
  252.  
  253. #ifndef CplusplusSource
  254. # define SRCsuf c
  255. # define Isuf i
  256. #else
  257. # define SRCsuf CCsuf
  258. # define Isuf ii
  259. # ifdef SunArchitecture
  260. .SUFFIXES: Concat(.,CCsuf)
  261. # endif
  262. #endif
  263.  
  264. #define _CompileObj(target, options)                    @@\
  265. target                                    @@\
  266.     _DebuggedObjCompile(options)                    @@\
  267.     _ProfiledObjCompile(options)                    @@\
  268.     _NormalObjCompile(options)                    @@\
  269.     _ExtraObjCompile(options)                    @@\
  270.     _SharedObjCompile(options)
  271.  
  272. #ifndef SeparateSharedCompile
  273. # define _CompileObjSeparateOpts(target,staticopts,sharedopts) \
  274.     _CompileObj(target,sharedopts)
  275. #else
  276. # define _CompileObjSeparateOpts(target,staticopts,sharedopts)        @@\
  277. target                                    @@\
  278.     _DebuggedObjCompile(staticopts)                    @@\
  279.     _ProfiledObjCompile(staticopts)                    @@\
  280.     _NormalObjCompile(staticopts)                    @@\
  281.     _ExtraObjCompile(staticopts)                    @@\
  282.     _SharedObjCompile(sharedopts)
  283. #endif
  284.  
  285. #ifdef CplusplusSource
  286. # define _CompileObjCplusplus(target, options)                @@\
  287. target                                    @@\
  288.     _DebuggedObjCplusplusCompile(options)                @@\
  289.     _ProfiledObjCplusplusCompile(options)                @@\
  290.     _NormalObjCplusplusCompile(options)                @@\
  291.     _ExtraObjCplusplusCompile(options)                @@\
  292.     _SharedObjCplusplusCompile(options)
  293. #else
  294. # define _CompileObjCplusplus(target, options)
  295. #endif
  296.  
  297. #ifndef LibraryObjectRule
  298. # define LibraryObjectRule()                        @@\
  299. all::                                    @@\
  300.     _DebuggedLibMkdir()                        @@\
  301.     _ProfiledLibMkdir()                        @@\
  302.     _NormalLibMkdir()                        @@\
  303.     _ExtraLibMkdir()                        @@\
  304.                                     @@\
  305. includes::                                @@\
  306.     _DebuggedLibMkdir()                        @@\
  307.     _ProfiledLibMkdir()                        @@\
  308.     _NormalLibMkdir()                        @@\
  309.     _ExtraLibMkdir()                        @@\
  310.                                     @@\
  311. _CompileObj(.c.Osuf:,$(_NOOP_))                        @@\
  312. _CompileObjCplusplus(.SRCsuf.Osuf:,$(_NOOP_))                @@\
  313.                                     @@\
  314. clean::                                    @@\
  315.     _DebuggedCleanDir()                        @@\
  316.     _ProfiledCleanDir()                        @@\
  317.     _NormalCleanDir()                        @@\
  318.     _ExtraCleanDir()                        @@\
  319.  
  320. #endif /* LibraryObjectRule */
  321.  
  322. #ifndef SpecialLibObjectRule
  323. # define SpecialLibObjectRule(objs,depends,options)            @@\
  324. _CompileObj(objs: depends,options)
  325. #endif /* SpecialLibObjectRule */
  326.  
  327. #ifndef SpecialCLibObjectRule
  328. # define SpecialCLibObjectRule(basename,depends,options)        @@\
  329. _CompileObj(basename.Osuf: basename.SRCsuf depends,options)        @@\
  330.                                     @@\
  331. basename.Isuf: basename.SRCsuf depends                    @@\
  332.     CPPOnlyCompile(basename.SRCsuf,options)                @@\
  333.                                     @@\
  334. CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
  335. #endif /* SpecialCLibObjectRule */
  336.  
  337. #ifndef SpecialCLibObjectRuleSeparateOpts
  338. # define SpecialCLibObjectRuleSeparateOpts(basename,depends,staticopts,shopts) @@\
  339. _CompileObjSeparateOpts(basename.Osuf: basename.SRCsuf depends,staticopts,shopts)    @@\
  340.                                     @@\
  341. basename.Isuf: basename.SRCsuf depends                    @@\
  342.     CPPOnlyCompile(basename.SRCsuf,sharedopts)            @@\
  343.                                     @@\
  344. CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
  345. #endif /* SpecialCLibObjectRuleSepareateOpts */
  346.  
  347. #ifndef SpecialCplusplusLibObjectRule
  348. # define SpecialCplusplusLibObjectRule(basename,depends,options)    @@\
  349. _CompileObjCplusplus(basename.Osuf: basename.SRCsuf depends,options)    @@\
  350.                                     @@\
  351. CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
  352. #endif /* SpecialCplusplusLibObjectRule */
  353.  
  354. /*
  355.  * ToolkitMakeStrings generates a string-table, i.e., a C source
  356.  * file and the matching header(s), e.g., Xt's StringDefs.c, StringDefs.h,
  357.  * and Shell.h files; or Motif's XmStrDefs.c and XmStrDefs.h files.
  358.  *
  359.  * The 'files' argument is the list of files that will be produced by
  360.  * this rule, e.g., for Xt they would be "Shell.h StringDefs.c StringDefs.h"
  361.  * and for Motif they would be "XmStrDefs.c XmStrDefs.h".
  362.  *
  363.  * The 'source' argument is the string-list file to be parsed, e.g., in
  364.  * Xt that would be "util/string.list".  For Motif 2.0 it would be
  365.  * "../../tools/makestr/xmstring.list", and for Motif-CDE1 it would be
  366.  * "util/xmstring.list".
  367.  *
  368.  * The 'options' argument is passed by the library's Imakefile, see the
  369.  * Xt Imakefile for an example.  Typically this would be nothing, -intelabi,
  370.  * or -sparcabi; there are other choices, but these are typical.
  371.  *
  372.  * The 'depends' argument names additional files the target files
  373.  * depend on.  It should name the #ctmpl and #htmpl files from the
  374.  * 'source' file.
  375.  *
  376.  * The 'dest' argument is the C source output file.  For Xt this should
  377.  * be "StringDefs.c", and for all versions of Motif it would be "XmStrDefs.c"
  378.  *
  379.  * Headers are generated and named according to data in the 'source'
  380.  * file.
  381.  */
  382. /*
  383.  * The NoCmpScript
  384.  * prevents clearmake from trying to remake makestrs if it exists.
  385.  * Including both $(MAKESTRS) and $(MAKESTRS).o as primary targets
  386.  * prevents clearmake from trying to recompile makestrs from here.
  387.  * We have includes, not files, depend on makestrs to try to get
  388.  * clearmake to wink in the files.  Bug in clearmake 2.0.2?
  389.  */
  390.  
  391. #ifndef MakeStringsDependency
  392. # ifndef UseInstalled
  393. #  define MakeStringsDependency                        @@\
  394. MAKESTRS = $(CONFIGSRC)/util/makestrs                    @@\
  395. NoCmpScript(HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf)    @@\
  396.                                     @@\
  397. HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf:            @@\
  398.     cd $(CONFIGSRC)/util && $(MAKE) HostProgramTargetName(makestrs)    @@\
  399.                                     @@\
  400. includes:: HostProgramTargetName($(MAKESTRS))
  401. # else
  402. #  define MakeStringsDependency  /**/
  403. # endif
  404. #endif
  405.  
  406. #ifndef ToolkitMakeStrings
  407. # if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
  408. #  define ToolkitMakeStrings(files,source,options,depends,dest)        @@\
  409. files: source depends                            @@\
  410.     RemoveFiles(files)                        @@\
  411.     RunProgram(MAKESTRS,options < source > dest)            @@\
  412.                                     @@\
  413. AllTarget(files)                            @@\
  414.                                     @@\
  415. includes:: files                            @@\
  416.                                     @@\
  417. depend:: files                                @@\
  418.                                     @@\
  419. clean::                                    @@\
  420.     RemoveFiles(files)
  421. # else
  422. #  define ToolkitMakeStrings(files,source,options,depends,dest)        @@\
  423. MakeStringsDependency                            @@\
  424.                                     @@\
  425. files: source depends                            @@\
  426.     RemoveFiles(files)                        @@\
  427.     RunProgram(MAKESTRS,options < source > dest)            @@\
  428.                                     @@\
  429. AllTarget(files)                            @@\
  430.                                     @@\
  431. includes:: files                            @@\
  432.                                     @@\
  433. depend:: files                                @@\
  434.                                     @@\
  435. clean::                                    @@\
  436.     RemoveFiles(files)
  437. # endif
  438. #endif /* ToolkitMakeStrings */
  439.  
  440. #ifdef LibName
  441.  
  442. LIBNAME = LibName
  443.  
  444. # if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
  445. /*
  446.  * Do ToolkitMakeStrings() before BuildIncludes so makestrs is still
  447.  * built first, even if the generated header will be installed.
  448.  */
  449. MakeStringsDependency
  450. # endif
  451.  
  452. LibraryObjectRule()
  453.  
  454. # undef _LinkBuildLibrary
  455. # if !defined(LibInstall) || LibInstall || LibInstallBuild
  456. #  define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
  457. # else
  458. #  define _LinkBuildLibrary(lib) $(_NULLCMD_)
  459. # endif
  460.  
  461. # if defined(LibBuild) && !LibBuild
  462. #  define LibCreate NO
  463. # endif
  464.  
  465. # if !defined(LibCreate) || LibCreate
  466. #  if DoSharedLib
  467. #   if HugeLibrary && defined(SharedLibraryTarget3)
  468. SharedLibraryTarget3($(LIBNAME),$(SoRev),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRASHAREDOBJS),.,.)
  469. #   else
  470. #    if defined(SharedLibtoolRev) && defined(SharedLibtoolLibraryTarget)
  471. SharedLibtoolLibraryTarget($(LIBNAME),SharedLibtoolRev,$(OBJS) $(EXTRASHAREDOBJS),.,.)
  472. #    else
  473. SharedLibraryTarget($(LIBNAME),$(SoRev),$(OBJS) $(EXTRASHAREDOBJS),.,.)
  474. #    endif
  475. #   endif
  476. #   if !defined(LibInstall) || LibInstall
  477. #    if defined(SharedLibtoolRev) && defined(InstallSharedLibtoolLibrary)
  478. InstallSharedLibtoolLibrary($(LIBNAME),SharedLibtoolRev,$(SHLIBDIR))
  479. #    else
  480. InstallSharedLibrary($(LIBNAME),$(SoRev),$(SHLIBDIR))
  481. #    endif
  482. #   endif
  483. #   if HasSharedData
  484. SharedLibraryDataTarget($(LIBNAME),$(SoRev),$(UNSHAREDOBJS))
  485. #    if !defined(LibInstall) || LibInstall
  486. InstallSharedLibraryData($(LIBNAME),$(SoRev),$(SHLIBDIR))
  487. #    endif
  488. #   endif
  489. #  endif
  490. #  if DoNormalLib
  491. #   if HugeLibrary
  492. #    if DoSharedLib && SeparateSharedCompile
  493. UnsharedLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRAUNSHAREDOBJS),unshared,..)
  494. #    else
  495. NormalLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRAUNSHAREDOBJS))
  496. #    endif
  497. #   else
  498. #    if DoSharedLib && SeparateSharedCompile
  499. UnsharedLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS),unshared,..)
  500. #    else
  501. NormalLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
  502. #    endif
  503. #   endif
  504. #   if !defined(LibInstall) || LibInstall
  505. InstallLibrary($(LIBNAME),$(USRLIBDIR))
  506. #   endif
  507. #  endif
  508. #  if DoProfileLib
  509. ProfiledLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
  510. #   if !defined(LibInstall) || LibInstall
  511. InstallLibrary($(LIBNAME)_p,$(USRLIBDIR))
  512. #   endif
  513. #  endif
  514. #  if DoDebugLib
  515. DebuggedLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
  516. #   if !defined(LibInstall) || LibInstall
  517. InstallLibrary($(LIBNAME)_d,$(USRLIBDIR))
  518. #   endif
  519. #  endif
  520. #  if DoExtraLib && defined(ExtraLibRules)
  521. ExtraLibraryTarget($(LIBNAME),$(SoRev),$(OBJS) $(EXTRAUNSHAREDOBJS))
  522. #   if !defined(LibInstall) || LibInstall
  523. ExtraInstallLibrary($(LIBNAME),$(SoRev))
  524. #   endif
  525. #  endif
  526.  
  527. LintLibraryTarget($(LIBNAME),$(SRCS))
  528. #  if !defined(LibInstall) || LibInstall
  529. InstallLintLibrary($(LIBNAME),$(LINTLIBDIR))
  530. #  endif
  531. # else /* not LibCreate */
  532. #  if LibBuild
  533. #   if HugeLibrary
  534. AllTarget($(OBJS1))
  535. AllTarget($(OBJS2))
  536. AllTarget($(OBJS3))
  537. #   else
  538. AllTarget($(OBJS))
  539. #   endif
  540. #   if DoSharedLib
  541. AllTarget($(EXTRASHAREDOBJS))
  542. #   endif
  543. #   if DoNormalLib
  544. AllTarget($(EXTRAUNSHAREDOBJS))
  545. #   endif
  546. #  endif /* LibBuild */
  547. # endif /* LibCreate */
  548. # ifdef IncSubdir
  549. #  ifdef IncSubSubdir
  550. #   if !defined(LibHeaders) || LibHeaders
  551. BuildIncludes($(HEADERS),IncSubdir/IncSubSubdir,../..)
  552. #    if BuildLibraries
  553. InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir/IncSubSubdir,$(INSTINCFLAGS))
  554. #     endif
  555. #   endif
  556. #  else
  557. #   if !defined(LibHeaders) || LibHeaders
  558. BuildIncludes($(HEADERS),IncSubdir,..)
  559. #    if BuildLibraries
  560. InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))
  561. #    endif
  562. #   endif
  563. #  endif
  564. # else
  565. #  ifndef CplusplusSource
  566. #   if !defined(LibHeaders) || LibHeaders
  567. BuildIncludesTop($(HEADERS))
  568. #    if BuildLibraries
  569. InstallMultipleFlags($(HEADERS),$(INCDIR),$(INSTINCFLAGS))
  570. #    endif
  571. #   endif
  572. #  endif
  573. # endif
  574.  
  575. NormalLintTarget($(SRCS))
  576. #endif /* defined(LibName) */
  577.  
  578. #ifdef NoSoSymlink
  579. SOSYMLINK = false
  580. #else
  581. SOSYMLINK = true
  582. #endif
  583.